1. Field of the Invention
The present invention generally relates to digital broadcast systems and, in particular, to a firmware update method and apparatus of a set-top box in a digital broadcast system.
2. Description of the Related Art
Digital broadcast systems are classified into digital terrestrial broadcast systems, digital satellite broadcast systems, and cable digital broadcast systems depending on the transmission medium. One feature of these mediums is that program data is transmitted on each channel using high compression based on the Moving Picture Experts Group (MPEG) encoding standard. Programs of a plurality of channels are multiplexed in a highly efficient manner based on the high-efficiency digital modulation scheme per channel. For this reason, digital broadcast systems can broadcast several dozen or even hundreds of channels without a plurality of repeaters that are required in analog broadcast systems.
Typically, a digital cable broadcast system includes a head end which transmits digital broadcast signals and processes the data uploaded by subscribers, and a set-top box which converts the digital signals transmitted by the head end to analog signals and accesses the original audio and video signals.
In such a digital broadcast system, cable System Operators (SOs) provide subscribers with cable TV programs, content, and other data that is produced by the SOs or supplied from production companies, such that subscribers access programs and other data of the SOs selectively.
In most digital broadcast systems, the MPEG-2 standard is adopted as the video and audio compression scheme along with the Quadrature Amplitude Modulation (QAM) scheme for highly efficient data transmission using limited transmission bandwidth.
The set-top box is a device that decodes the digitalized broadcast and management information transmitted by the head-end of the local cable TV company in order to receive cable TV or cable modem service, and transfers the decoded analog signals to the TV. The set-top box receives the broadcast and management information from the head-end. The head-end may include a digital broadcast server (Audio/Video Server), a Service Information Server for providing broadcast channel information, and a Conditional Access Server.
The set-top box can receive a firmware update periodically from the head-end to upgrade its firmware.
FIG. 1 is a flowchart illustrating a firmware update procedure in a conventional set-top box.
Referring to FIG. 1, the set-top box boots up in step 101 and receives a public Code Version Table (CVT), which is the CVT carrying information regarding the firmware for all set-top boxes, in step 103. It is assumed that the public CVT contains information instructing the firmware update of the set-top box to the firmware 1. Upon receipt of the public CVT, the set-top box updates its firmware to firmware 1 indicated by the public CVT in step 105 and reboots to load the updated firmware in step 107. It is assumed that, after rebooting, the set-top box receives a filtering CVT, which is the CVT carrying information on firmware targeted to a specific set-top box, which contains information instructing firmware update of the set-top box to firmware 2 in step 109. If the filtering CVT is received in step 109, the set-top box updates its firmware to firmware 2 indicated by the filtering CVT in step 111 and returns to step 101 so as to reboot in order to apply the updated firmware.
After the reboot, the set-top box repeats steps 103 to 111. As a consequence, the set-top box enters an infinite loop of updating the firmware and rebooting.
In the case in which only the public CVT is received, the set-top box can update its firmware with the public CVT without a problem because the filtering CVT is ignored.
However, when both the public CVT and the set-top box-specific filtering CVT are received, the firmware update is performed twice in sequential order.
For example, if the public CVT indicating that firmware AAA is received, the set-top box updates its firmware with firmware AAA. The updated firmware AAA is not updated repeatedly with the firmware AAA of the same public CVT. However, if the filtering CVT indicating a firmware BBB is received, the set-top box updates its firmware to firmware BBB. In this case, the set-top box can receive the public CVT so as to update its firmware to the firmware AAA again.
In this manner, if both the public CVT and the filtering CVT are received, the conventional set-top box updates its firmware with the public and filtering CVTs alternately so as to repeat rebooting to update is the firmware, resulting in an infinite loop.